<?php
//创建服务器
$host = '127.0.0.1';	//监听对应外网的IP
$port = 9501;		//端口号（1024以下端口需要root权限）
$mode = SWOOLE_PROCESS;	//SWOOLE_PROCESS 进程模式-多进程方式
$socke_type	= SWOOLE_SOCK_TCP;	//SWOOLE_SOCK_TCP 服务器类型-默认TCP
$serv = new swoole_server($host,$port);

//-------------使用
/**
* TCP服务器搭建
* bool $swoole_server->on(string $event,miexd $callback);
* $event 
* connect:当建立链接的时候	(2个默认参数：$ser-服务器信息,$fd-客户信息 /-名字随意)
* receive:当接收数据的时候	(4个默认参数：$ser-同上,$fd-同上,$from_id-客户id,$data-传递数据)
* close:关闭链接
*/
//设置异步任务的工作进程数量
$serv->set(array('task_worker_num' =>4));


//监听数据接收事件
$serv->on('receive', function($serv, $fd, $from_id, $data) {
    //投递异步任务
    $task_id = $serv->task($data);//非阻塞
    echo "同步代码执行完成\n";
});


//处理异步任务
$serv->on('task', function ($serv, $task_id, $from_id, $data) {
    handleFun($data);
    //返回任务执行的结果
    $serv->finish("finish");
});


//处理异步任务的结果
$serv->on('finish', function ($serv, $task_id, $data) {
    echo "异步任务执行完成\n";
});


$serv->start();


function handleFun($data){
       
    $data=json_decode($data,true);

   foreach ($data  as $key => $value) {
      file_put_contents('../message.txt', "进入server操作".date('Y-m-d H:i:s')."\n",FILE_APPEND);
     // echo  json_encode($value);
     // echo  '执行'.$value."\n";
        // $url='http://119.23.33.37/index.php/index/swooletest/add';
      	$url=$value['url'];
        echo $url."\r\n";
        $postUrl = $url;
        $curlPost = $value;

        $ch = curl_init(); //初始化curl
        curl_setopt($ch, CURLOPT_URL, $postUrl); //抓取指定网页
        curl_setopt($ch, CURLOPT_HEADER, 0); //设置header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_POST, 1); //post提交方式
        curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
        $data = curl_exec($ch); //运行curl
        curl_close($ch);
       
   }
  

}
